//package com.vercon.moensmart.fragment;
//
//import android.content.Intent;
//import android.content.IntentFilter;
//import android.os.Bundle;
//import android.text.TextUtils;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.TextView;
//
//import androidx.annotation.NonNull;
//import androidx.annotation.Nullable;
//import androidx.fragment.app.FragmentActivity;
//import androidx.recyclerview.widget.RecyclerView;
//import androidx.recyclerview.widget.SimpleItemAnimator;
//
//import com.vercon.common.Constants;
//import com.vercon.common.presenter.MainPresenter;
//import com.vercon.common.utils.LogUtils;
//import com.vercon.moensmart.adapter.AppStoreAdapter;
//import com.vercon.moensmart.databinding.FragmentAppStoreBinding;
//import com.vercon.moensmart.event.BaseEvent;
//import com.vercon.moensmart.event.InstalledEvent;
//import com.vercon.moensmart.fragment.base.BaseFragment;
//import com.vercon.moensmart.fragment.manager.FragmentOpenManager;
//
//import org.greenrobot.eventbus.EventBus;
//import org.greenrobot.eventbus.Subscribe;
//import org.greenrobot.eventbus.ThreadMode;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import butterknife.BindView;
//import butterknife.OnClick;
//
///**
// * 应用商店
// */
//public class AppStoreFragment extends BaseFragment<FragmentAppStoreBinding> {
//
//    private MainPresenter mPresenter;
//    private AppStoreAdapter mAdapter;
//    public static boolean isShow = false;
//    private boolean isHide = false;
//    private NetWorkTipPopWindow mNetWorkTipPopWindow;
//    private SwitchWindow mSwitchWindow;
//
//    @Override
//    protected FragmentAppStoreBinding onCreateViewBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup parent) {
//        return FragmentAppStoreBinding.inflate(inflater,parent,false);
//    }
//
//    @Override
//    protected void initData() {
//        isShow = true;
//        DownLoadUtil.getInstance().registerEventBus();
//        tvNoData.setVisibility(View.VISIBLE);
//        mAdapter = new AppStoreAdapter(getActivity(), getChildFragmentManager());
//        downloadRecycler.setAdapter(mAdapter);
//        downloadRecycler.setHasFixedSize(true);
//        downloadRecycler.getItemAnimator().setAddDuration(0);
//        downloadRecycler.getItemAnimator().setChangeDuration(0);
//        downloadRecycler.getItemAnimator().setChangeDuration(0);
//        downloadRecycler.getItemAnimator().setRemoveDuration(0);
//        SimpleItemAnimator simpleItemAnimator = (SimpleItemAnimator) downloadRecycler.getItemAnimator();
//        simpleItemAnimator.setSupportsChangeAnimations(false);
//
//        mPresenter = new MainPresenter();
//        initAppList();
//    }
//
//    @Override
//    protected void initListener() {
//        //注册应用安装成功监听
//        registerSDCardListener();
//        EventBus.getDefault().register(this);
//    }
//
//    private void initAppList() {
//        getAppList( "CN");
//    }
//
//
//    @Subscribe(threadMode = ThreadMode.MAIN_ORDERED)
//    public void MessageEvent(InstalledEvent event) {
//        //安装成功回调
//        if (isHide) {
//            isShow = false;
//            //onBack();
//            FragmentOpenManager.Companion.getInstance().removeAppFragments(getActivity(),AppStoreFragment.class.getSimpleName());
//        }
//    }
//
//    @Override
//    public void onHiddenChanged(boolean hidden) {
//        super.onHiddenChanged(hidden);
//        isHide = hidden;
//        if (hidden) {
//            LogUtils.d("显示虚拟键");
////            MainApplication.getContext().setVirtualKey(true);
//            EventBus.getDefault().post(new BaseEvent(Constants.home_wallpaper_appstore));
//        }else {
//            FragmentOpenManager.Companion.getInstance().removeAppFragments(getActivity(),AppFragment.class.getSimpleName());
//        }
//    }
//
//    @Override
//    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//        LogUtils.d("InstallBroadcast", "onActivityResult " + requestCode + "  " + resultCode);
//        if (requestCode == DownLoadUtil.REQUEST_CODE) {
//            //安装提示框回调，若未安装成功，则失败
//            if (!AppStoreAdapter.isSuccess) {
//                EventBus.getDefault().post(new InstalledEvent(false));
//            }
//        }
//    }
//
//    private void getAppList(String region) {
//        if (mSwitchWindow == null) {
//            mSwitchWindow = new SwitchWindow(getActivity());
//            mSwitchWindow.setOnSwitchListener(() -> {
//                if (tvNoData != null) {
//                    mPresenter.cancelAccess();
//                    tvNoData.setVisibility(View.VISIBLE);
//                }
//            });
//        }
//        mSwitchWindow.showPopupWindow();
//        ActivateDeviceBean deviceBean = MirrorDataStorage.instance().getObject(Constants.STORAGE_KEY_ACTIVATE, ActivateDeviceBean.class);
//        String agentId = "",deviceCode = "";
//        if (deviceBean != null) {
//            agentId = deviceBean.getAgentId();
//            deviceCode = deviceBean.getDeviceCode();
//        }
//
//        mPresenter.getAppList(deviceId, region, Constants.getSystemId(MainApplication.getContext().isKiller), CLang.getLang(getContext()), agentId,deviceCode, new MirrorResultView<BaseMode<AppDataList>>() {
//            @Override
//            public void onSuccess(BaseMode<AppDataList> result) {
//                try{
//                    mSwitchWindow.dismiss();
//                    if (tvNoData == null) {
//                        return;
//                    }
//                    LogUtils.d("onSuccess " + result.isSuccessful());
//                    if (result.isSuccessful()) {
//                        AppDataList appDataList = result.getData();
//                        LogUtils.i(TAG, appDataList.getCountryName());
////                    tvCityName.setText(appDataList.getCountryName());
//                        List<AppDataRoomInfo> data = new ArrayList<>();
//                      //  AppData appData = new AppData( getContext().getString(R.string.main_brush),AppFragment.ID_BRUSH+"","");
//                        data.addAll(DefaultMenuUtil.getMenu_delete(getContext()));
//                        data.addAll(appDataList.getList());
//                       // List<AppData> data = appDataList.getList();
//                        LogUtils.e("data="+data.toString());
//                        if (data.size() != 0) {
//                            tvNoData.setVisibility(View.GONE);
//                        }
//                        mAdapter.setLists(data);
//                    } else {
//                        tvNoData.setVisibility(View.VISIBLE);
//                    }
//                }catch (Exception e){}
//
//            }
//
//            @Override
//            public void onError(int code, String message) {
//                mSwitchWindow.dismiss();
//                if (tvNoData == null) {
//                    return;
//                }
//                tvNoData.setVisibility(View.VISIBLE);
//                if (getActivity() == null) {
//                    return;
//                }
//                if (mNetWorkTipPopWindow == null)
//                    mNetWorkTipPopWindow = new NetWorkTipPopWindow(getActivity());
//                mNetWorkTipPopWindow.setOnNetWorkErrorListener(new OnNetWorkError() {
//                    @Override
//                    public void onCheck() {
////                        WiFiFragment wiFiFragment = new WiFiFragment();
////                        Bundle bundle = new Bundle();
////                        bundle.putBoolean(WiFiFragment.show_back, true);
////                        wiFiFragment.setArguments(bundle);
////                        FragmentOpenManager.getInstance().addFragment(wiFiFragment, getActivity());
//                    }
//
//                    @Override
//                    public void onRefresh() {
//                        if (getContext() != null)
//                            getAppList(deviceId, region);
//                    }
//                });
//                if (!mNetWorkTipPopWindow.isShowing())
//                    mNetWorkTipPopWindow.showPopupWindow();
//                LogUtils.d("onError " + code + "  " + message);
//            }
//        });
//    }
//
//    private void registerSDCardListener() {
//        IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);
//        intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
//        intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
//        intentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
//        intentFilter.addDataScheme("package");
////        getActivity().registerReceiver(apkInstallListener, intentFilter);
//    }
//
//    @Override
//    public void onDestroyView() {
//        AppStoreAdapter.isLoading = false;
//        DownLoadUtil.getInstance().onDestroy();
//        isShow = false;
//        AppFragment.appStoreFragment = null;
//        mPresenter.destroy();
////        getActivity().unregisterReceiver(apkInstallListener);
//        EventBus.getDefault().unregister(this);
//        super.onDestroyView();
//
//    }
//
//    @OnClick(R.id.iv_back)
//    public void onViewClicked(View view) {
//        LogUtils.d("AppStoreFragment onViewClicked: ");
//        back(this, getActivity());
////      onBack();
//    }
//
//    public static void back(AppStoreFragment context, FragmentActivity activity) {
//        if ( AppStoreAdapter.isLoading) {
//            if (context.isVisible()) {
//                BackgroundDownLoadDialog dialog = new BackgroundDownLoadDialog();
//                dialog.setCancelable(false);
//                dialog.setOnDialogListener(() -> {
////                startActivity(new Intent(getActivity(), MainActivity.class));
//                    //隐藏fragment
//                    FragmentOpenManager.getInstance().hideFragment(context, activity);
//                });
//                dialog.show(activity.getSupportFragmentManager(), "");
//            }else {
//                context.onBack();
//            }
//        } else {
//            isShow = false;
//            context.onBack();
//        }
//    }
//
//
//
//    @Override
//    public void onClick(View v) {
//
//    }
//}